package org.example.Controller;

import org.example.Student;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * controller2类负责处理学生的输入和信息添加请求。
 */
@Controller
public class controller2 {

    /**
     * 处理输入页面的请求，初始化学生对象并重置其属性。
     *
     * //@param studentTh 绑定到方法参数上的学生对象，用于页面和模型之间的数据传递。
     * @return 返回到客户端的视图名称，此处为输入信息的HTML页面。
     */
    @RequestMapping("/input")
    public String input(@ModelAttribute("studentTh") Student student){
        // 重置学生对象的属性为默认值
        student.setName("");
        student.setAge(0);
        student.setTel("");
        student.setEmail("");
        return "inputInfo.html";
    }

    /**
     * 处理添加信息的请求，对提交的学生信息进行验证。
     *
     * //@param studentTh 绑定到方法参数上的学生对象，包含用户提交的信息。
     * @param bindingResult 存储验证结果的对象，用于检查学生对象是否有错误。
     * @return 根据验证结果返回相应的视图名称，如果验证失败则返回输入页面，否则返回成功页面。
     */
    @RequestMapping("/addinfo")
    public String addinfo(@ModelAttribute("studentTh") @Validated
                      Student student, BindingResult bindingResult) {
        // 检查提交的学生信息是否有错误
        if (bindingResult.hasErrors())
            return "inputInfo.html"; // 有错误则返回输入页面
        return "success.html"; // 无错误则返回成功页面
    }

}
